Parallel Program Verification Using BMC
نویسندگان
چکیده
The paper describes a research tool for studying the applicability of bounded model checking techniques to verifying asynchronous software. A simple programming language, PROMELAb, is introduced and an operational semantics for it is defined. The language is basically a subset of PROMELA, the input language of the SPIN model checker. The basic idea is to study techniques for improving the efficiency of bounded model checking techniques for parallel software by exploiting the potential concurrency in executing asynchronous programs. As a first step, a translation from a PROMELAb program and an execution bound to a propositional formula is devised such that the models of the formula capture exactly the bounded executions of the program. The translation allows the analysis of both interleaving and step executions. It is shown how it can be used to check bounded reachability properties and how the approach extends to handling safety properties. Techniques for optimizing the encoding are also discussed.
منابع مشابه
Incremental Bounded Model Checking for Embedded Software1
Program analysis is on the brink of mainstream usage in embedded systems development. Formal verification of behavioural requirements, finding runtime errors and test case generation are some of the most common applications of automated verification tools based on Bounded Model Checking (BMC). Existing industrial tools for embedded software use an off-the-shelf Bounded Model Checker and apply i...
متن کاملAutomatic Verification of Determinism for Structured Parallel Programs
We present a static analysis for automatically verifying determinism of structured parallel programs. The main idea is to leverage the structure of the program to reduce determinism verification to an independence property that can be proved using a simple sequential analysis. Given a task-parallel program, we identify program fragments that may execute in parallel and check that these fragment...
متن کاملSuccessful Use of Incremental BMC in the Automotive Industry
Program analysis is on the brink of mainstream usage in embedded systems development. Formal verification of behavioural requirements, finding runtime errors and automated test case generation are some of the most common applications of automated verification tools based on Bounded Model Checking (BMC). Existing industrial tools for embedded software use an off-the-shelf Bounded Model Checker a...
متن کاملBounded Model Checking of Multi-threaded C Programs via Lazy Sequentialization
Bounded model checking (BMC) has successfully been used for many practical program verification problems, but concurrency still poses a challenge. Here we describe a new approach to BMC of sequentially consistent C programs using POSIX threads. Our approach first translates a multi-threaded C program into a nondeterministic sequential C program that preserves reachability for all round-robin sc...
متن کاملSoftware Verification and Validation with Destiny:
This paper presents an introduction to computer-aided theorem proving and a new approach using parallel processing to increase power and speed of computation. Automated theorem provers, along with human interpretation, have been shown to be powerful tools in verifying and validating computer software. Destiny, while still in developmental stages, has shown promise for deeper and more powerful a...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2002